package proxy_pattern.remote.ex2;

import proxy_pattern.remote.ex2.to.Request;

import java.rmi.Remote;
import java.rmi.RemoteException;

/**
 * @author 申书航
 * @version 1.0
 *
 * IBase64 接口定义了对请求进行编码和解码的方法，支持远程调用。
 */
public interface IBase64 extends Remote {

    /**
     * 对请求进行编码
     *
     * @param request 需要编码的请求
     * @return 编码后的字符串
     * @throws RemoteException 远程调用异常
     */
    String encode(Request request) throws RemoteException;

    /**
     * 解码字符串为请求
     *
     * @param encodeStr 编码后的字符串
     * @return 解码后的请求对象
     * @throws RemoteException 远程调用异常
     */
    Request decode(String encodeStr) throws RemoteException;
}

